schroot permet de gérer plus efficacement un environnement chroot. L'usage de ces deux outils (schroot et chroot) permet de créer un environnement virtualisé minimal. Puisque le système d'exploitation de l'environnement chroot partage le même noyau que le système « hôte », les ressources système (mémoire vive, processeur) sont moins sollicitées, mis à part l'utilisation du disque dur.
En terme de sécurité, schroot est moins robuste que les solutions de virtualisation régulières.
Il suffit d'installer les paquets schroot debootstrap.
Voici un petit descriptif de l'arborescence de /etc/schroot :
sudo mkdir /chroot
sudo debootstrap --arch amd64 lucid /chroot/lucid http://us.archive.ubuntu.com/ubuntu/
Ou
sudo debootstrap --arch i386 lucid /chroot/lucid http://us.archive.ubuntu.com/ubuntu/
[lucid] description=lucid directory=/chroot/lucid root-groups=root root-users=root type=directory
schroot -b -c lucid
Lors du démarrage du chroot, schroot nous donne l'identifiant du chroot, par exemple lucid-00e8c158-e183-48ad-8407-272808c6b0c6
schroot -r -c lucid-00e8c158-e183-48ad-8407-272808c6b0c6
schroot -e -c lucid-00e8c158-e183-48ad-8407-272808c6b0c6
Nous allons installer un serveur LAMP dans un environnement chroot. Le système exploitation hôte sera une distribution ubuntu. Par contre le système inviter sera une distribution debian.
debootstrap --arch amd64 lenny /chroot/lenny http://ftp.fr.debian.org/debian/
[lenny] description=lenny directory=/chroot/lenny root-groups=root root-users=root type=directory script-config=script-lenny
touch /etc/schroot/script-lenny
# Default settings for chroot setup and exec scripts. # See schroot-script-config(5) for further details. # Filesystems to mount inside the chroot. FSTAB="/etc/schroot/mount-lenny"
cp /etc/schroot/mount-defaults /etc/schroot/mount-lenny
# mount.defaults: static file system information for chroots. # Note that the mount point will be prefixed by the chroot path # (CHROOT_PATH) # # <file system> <mount point> <type> <options> <dump> <pass> proc /proc proc defaults 0 0 #procbususb /proc/bus/usb usbfs defaults 0 0 /dev /dev none rw,bind 0 0 /dev/pts /dev/pts none rw,bind 0 0 /dev/shm /dev/shm none rw,bind 0 0 #/home /home none rw,bind 0 0 #/tmp /tmp none rw,bind 0 0
sudo -s schroot -b -c lenny schroot -r -c lenny-00e8c158-e183-48ad-8407-272808c6b0c6 apt-get install apache2 mysql-server php5
Pour démarrer de façon automatique la chroot et tout les services que vous désiré, je vous propose le script téléchargeable ici
Contributeur principal : …